4

(暂时记录开发中使用的,后面分析其中的思路和用法)

在utils文件夹新建文件utils.js,封装代码如下:

   
   
    var sendRequest = function (url, method, data = {}, header = {} ) 
    {
    var promise = new Promise(function (resolve, reject){
        wx.request({
          url: url,
          data: data,
          method: method,
          header:header,
          success: function(data) {
            //做一些统一处理操作,例如401验证
            
            //resolve用于具体调用中
            resolve(data);
          },
          fail: function(data) {
            reject(data);            
          } 
        })
    })

    return promise
}

//导入
module.exports = {
 sendRequest : sendRequest
}

这样封装以后,可以添加一些公共的配置,例如在传入的 header 加入 token 信息,这样就不再需要在每个 wx.request 中写重复的代码了:

header.Authorization = wx.getStorageSync('token');

应用示例:

index.js页面

//加载util
const utils = require('../utils/util')

utils.sendRequest(your_request_url, 'GET', { user_id: user_id })
      .then(function (response) {
        that.setData({
          likes: response.data.data
        })
      }, function (error) {
        console.log(error);
      })


Donne
694 声望25 粉丝

知其然,知其所以然。